#ifndef _ADVANCED_CFG_H_
#define _ADVANCED_CFG_H_
#include "../../head_file.h"

#ifdef MULTI_CAS   
typedef void (*SmcClassSelect)(enum class_selection sel);
#endif

typedef struct
{
    UINT8 front_end_num;    

    //for hdmi 
	BOOL  hdcp_disable;
	UINT32 i2c_for_eddc;	    
 	UINT8 hdmi_cm_scl;
	UINT8 hdmi_cm_sda;   
    
    //for snd, daca
    BOOL audio_description_support;  //AUDIO_DESCRIPTION_SUPPORT
    UINT8 sys_mute_gpio;
    UINT8 ext_mute_mode;
    UINT8 sys_mute_polar;
    UINT8 snd_output_chip_type;

    //for osd 
    BOOL hd_subtitle_support;        //HD_SUBTITLE_SUPPORT

    //for vpo
    BOOL tve_full_current_mode;     //TVE_USE_FULL_CURRENT_MODE    
    VP_SRCASPRATIO_CHANGE   scart_aspect_change;
    T_TVE_ADJUST_TABLE*     tve_tbl;
#if defined(DUAL_VIDEO_OUTPUT_USE_VCAP)    
    struct tve_adjust *     tve_adjust;
    struct tve_adjust *     tve_adjust_adv;
#endif

    //for ttx
    BOOL ttx_packet_26_support;    //SUPPORT_PACKET_26
    BOOL ttx_sub_page;             //TTX_SUB_PAGE

    //for smc
#ifdef MULTI_CAS       
    SmcClassSelect   class_select;    
    UINT32 cas_type;               //CAS_TYPE
    BOOL cas9_support;             //SUPPORT_CAS9
    UINT8 invert_detect;
#endif
#ifdef _VMX_CA_ENABLE_       
    UINT8 invert_detect;
#endif
    //for vdec
    BOOL afd_scale_support;         //SUPPORT_AFD_SCALE
    
    //for avc config
    BOOL h264_support_mulit_bank;    // H264_SUPPORT_MULTI_BANK
    BOOL chanchg_video_type_support; // CHANCHG_VIDEOTYPE_SUPPORT
    BOOL avc_unify_mem_support;     // AVC_SUPPORT_UNIFY_MEM

    //
    BOOL ce_api_enabled;
    
}AdvanceCfgPara;


void board_advance_init(AdvanceCfgPara* cfg_para);

#endif

